Efficient representations for triangular substitutions: A comparison in miniKanren
نویسندگان
چکیده
Unification, a fundamental process for logic programming systems, relies on the ability to efficiently look up values of variables in a substitution. Triangular substitutions, which allow associations to variables that are themselves bound by another association, are an attractive choice for purely functional implementations of logic programming systems because of their fast extension time and linear space requirement, but have the disadvantage of costly lookup. We present several representations for triangular substitutions that decrease the cost of lookup to linear or logarithmic time in the size of the substitution while maintaining most of their desirable properties. In particular, we show that triangular substitutions can be represented efficiently using skew binary random-access lists, and that this representation provides a significant decrease in running time for existing programs written in miniKanren, a declarative logic programming system implemented in a pure functional subset of Scheme.
منابع مشابه
Image processing using miniKanren
An integral image is one of the most efficient optimization technique for image processing. However an integral image is only a special case of delayed stream or memoization. This research discusses generalizing concept of integral image optimization technique, and how to generate an integral image optimized program code automatically from abstracted image processing algorithm. In oder to abstr...
متن کاملUsing both Binary and Residue Representations for Achieving Fast Converters in RNS
In this paper, a new method is introduced for improving the efficiency of the Residue Number System, which uses both binary and residue representations in order to represent a number. A residue number system uses the remainder of the division in several different modules. Conversion of a number to smaller ones and carrying out parallel calculations on these numbers greatly increase the speed of...
متن کاملμKanren: A Minimal Functional Core for Relational Programming
This paper presents μKanren, a minimalist language in the miniKanren family of relational (logic) programming languages. Its implementation comprises fewer than 40 lines of Scheme. We motivate the need for a minimalist miniKanren language, and iteratively develop a complete search strategy. Finally, we demonstrate that through suf cient user-level features one regains much of the expressiveness...
متن کاملUsing both Binary and Residue Representations for Achieving Fast Converters in RNS
In this paper, a new method is introduced for improving the efficiency of the Residue Number System, which uses both binary and residue representations in order to represent a number. A residue number system uses the remainder of the division in several different modules. Conversion of a number to smaller ones and carrying out parallel calculations on these numbers greatly increase the speed of...
متن کاملAn Efficient Numerical Algorithm For Solving Linear Differential Equations of Arbitrary Order And Coefficients
Referring to one of the recent works of the authors, presented in~cite{differentialbpf}, for numerical solution of linear differential equations, an alternative scheme is proposed in this article to considerably improve the accuracy and efficiency. For this purpose, triangular functions as a set of orthogonal functions are used. By using a special representation of the vector forms of triangula...
متن کامل